<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Ring (programming language)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Ring_(programming_language)"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Ring_programming_language rootpage-Ring_programming_language skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Ring (programming language)</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */
.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}
/* end https://en.wikipedia.org/ */
</style><table class="infobox vevent"><tbody><tr><th colspan="2" class="infobox-above" style="background-color:#e0e0e0;">Ring</th></tr><tr><td colspan="2" class="infobox-image"><span typeof="mw:File"></span></td></tr><tr><th scope="row" class="infobox-label"><a href="Programming_paradigm" title="Programming paradigm">Paradigm</a></th><td class="infobox-data"><a href="Multi-paradigm_programming_language" class="mw-redirect" title="Multi-paradigm programming language">Multi-paradigm</a>: <a href="Object-oriented_programming" title="Object-oriented programming">object-oriented</a>, <a href="Imperative_programming" title="Imperative programming">imperative</a>, <a href="Functional_programming" title="Functional programming">functional</a>, <a href="Procedural_programming" title="Procedural programming">procedural</a>, <a href="Reflective_programming" title="Reflective programming">reflective</a>, <a href="Declarative_programming" title="Declarative programming">declarative</a>, <a href="Natural_language_programming" title="Natural language programming">natural language programming</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_design" title="Software design">Designed by</a></th><td class="infobox-data"><a href="Mahmoud_Samir_Fayed" title="Mahmoud Samir Fayed">Mahmoud Samir Fayed</a><sup id="cite_ref-Springer_1-0" class="reference"><a href="#cite_note-Springer-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_developer" class="mw-redirect" title="Software developer">Developer</a></th><td class="infobox-data organiser">The Ring Development Team</td></tr><tr><th scope="row" class="infobox-label">First appeared</th><td class="infobox-data">January 25, 2016<span style="display:none"> (<span class="bday dtstart published updated">2016-01-25</span>)</span></td></tr><tr><td colspan="2" class="infobox-full-data"></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">1.23<sup id="cite_ref-wikidata-f7854dabf8b4625aa322aa77ab5cf44e2c129cc8-v20_2-0" class="reference"><a href="#cite_note-wikidata-f7854dabf8b4625aa322aa77ab5cf44e2c129cc8-v20-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
/ 12 July 2025<span style="display:none"> (<span class="bday dtstart published updated">12 July 2025</span>)</span></div></td></tr><tr style="display:none"><td colspan="2">
</td></tr><tr><th scope="row" class="infobox-label"><a href="Type_system" title="Type system">Typing discipline</a></th><td class="infobox-data"><a href="Dynamic_typing" class="mw-redirect" title="Dynamic typing">Dynamic</a></td></tr><tr><th scope="row" class="infobox-label">Implementation language</th><td class="infobox-data"><a href="C_(programming_language)" title="C (programming language)">C</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Operating_system" title="Operating system">OS</a></th><td class="infobox-data"><a href="Microsoft_Windows" title="Microsoft Windows">Windows</a>, <a href="Linux" title="Linux">Linux</a> and <a href="MacOS" title="MacOS">macOS</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_license" title="Software license">License</a></th><td class="infobox-data"><a href="MIT_License" title="MIT License">MIT License</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Filename_extension" title="Filename extension">Filename extensions</a></th><td class="infobox-data">.ring, .rh, .rform</td></tr><tr><th scope="row" class="infobox-label">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://ring-lang.net">ring-lang<wbr>.net</a></span></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Influenced by</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="Lua_(programming_language)" class="mw-redirect" title="Lua (programming language)">Lua</a>, <a href="Python_(programming_language)" title="Python (programming language)">Python</a>, <a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a>, <a href="C_(programming_language)" title="C (programming language)">C</a>, <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, <a href="BASIC" title="BASIC">BASIC</a>, <a href="QML" title="QML">QML</a>, <a href="XBase" title="XBase">xBase</a>, Supernova</td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Influenced</th></tr><tr><td colspan="2" class="infobox-full-data">SimpleLang,<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> DragonLang <sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup></td></tr><tr><td colspan="2" class="infobox-below hlist" style="border-top: 1px solid #aaa; padding-top: 3px;">
<ul><li><span class="noviewer" typeof="mw:File"></span> <a href="https://en.wikibooks.org/wiki/Ring" class="extiw external" title="wikibooks:Ring">Ring</a> at Wikibooks</li></ul>
</td></tr></tbody></table>
<p><b>Ring</b> is a <a href="Dynamic_programming_language" title="Dynamic programming language">dynamically typed</a>, <a href="General-purpose_programming_language" title="General-purpose programming language">general-purpose programming language</a>. It can be embedded in C/C++ projects, extended using C/C++ code or used as a standalone language.<sup id="cite_ref-rangakrish_5-0" class="reference"><a href="#cite_note-rangakrish-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> The supported <a href="Programming_paradigm" title="Programming paradigm">programming paradigms</a> are <a href="Imperative_programming" title="Imperative programming">imperative</a>, <a href="Procedural_programming" title="Procedural programming">procedural</a>, <a href="Object-oriented_programming" title="Object-oriented programming">object-oriented</a>, <a href="Functional_programming" title="Functional programming">functional</a>, <a href="Metaprogramming" title="Metaprogramming">meta</a>, <a href="Declarative_programming" title="Declarative programming">declarative</a> using nested structures, and <a href="Natural-language_programming" class="mw-redirect" title="Natural-language programming">natural programming</a>.<sup id="cite_ref-BIMArabiaMagazine_6-0" class="reference"><a href="#cite_note-BIMArabiaMagazine-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-YourWayToProgramming_7-0" class="reference"><a href="#cite_note-YourWayToProgramming-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> The language is portable (<a href="Windows" class="mw-redirect" title="Windows">Windows</a>, <a href="Linux" title="Linux">Linux</a>, <a href="MacOS" title="MacOS">macOS</a>, <a href="Android_(operating_system)" title="Android (operating system)">Android</a>,<sup id="cite_ref-dotnetpro_8-0" class="reference"><a href="#cite_note-dotnetpro-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> <a href="WebAssembly" title="WebAssembly">WebAssembly</a>,<sup id="cite_ref-InfoWorld_9-0" class="reference"><a href="#cite_note-InfoWorld-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> etc.)<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> and can be used to create <a href="Console_application" title="Console application">console</a>, <a href="Graphical_user_interface" title="Graphical user interface">GUI</a>, <a href="Web_application" title="Web application">web</a>, <a href="PC_game" title="PC game">game</a> and <a href="Mobile_app" title="Mobile app">mobile applications</a>.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Youm7_(Egyptian_daily_newspaper)_12-0" class="reference"><a href="#cite_note-Youm7_(Egyptian_daily_newspaper)-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>In 2009, <a href="Mahmoud_Samir_Fayed" title="Mahmoud Samir Fayed">Mahmoud Samir Fayed</a> created a minor <a href="Domain-specific_language" title="Domain-specific language">domain-specific language</a> called Supernova that focuses on <a href="User_interface" title="User interface">User interface (UI)</a> creation and uses some ideas related to <a href="Natural-language_programming" class="mw-redirect" title="Natural-language programming">Natural Language Programming</a>, then he realized the need for a new language that is <a href="General-purpose_language" title="General-purpose language">general-purpose</a> and can increase the <a href="Productivity" title="Productivity">productivity</a> of natural language creation. Ring aims to offer a language focused on helping the developer with building natural interfaces and declarative DSLs.<sup id="cite_ref-Supernova1_15-0" class="reference"><a href="#cite_note-Supernova1-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Supernova2_16-0" class="reference"><a href="#cite_note-Supernova2-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Supernova3_17-0" class="reference"><a href="#cite_note-Supernova3-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Softpedia_18-0" class="reference"><a href="#cite_note-Softpedia-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Goals">Goals</h2></div>
<p>The general goals behind Ring:<sup id="cite_ref-Medium_19-0" class="reference"><a href="#cite_note-Medium-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup>
<sup id="cite_ref-Youm7_Journal_20-0" class="reference"><a href="#cite_note-Youm7_Journal-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>Applications programming language.</li>
<li>Productivity and developing high quality solutions that can scale.</li>
<li>Small and flexible language that can be embedded in C/C++ projects.</li>
<li>Simple language that can be used in education and introducing Compiler/VM concepts.</li>
<li>General-Purpose language that can be used for creating domain-specific libraries, frameworks and tools.</li>
<li>Practical language designed for creating the next version of the <a href="PWCT" title="PWCT">Programming Without Coding Technology</a> software.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Examples">Examples</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Hello_World_program">Hello World program</h3></div>
<p>The same program can be written using different styles. Here is an example of the standard "Hello, World!" program using four different styles.
</p><p>The first style:
</p>
<pre>see "Hello, World!"
</pre>
<p>The second style:
</p>
<pre>put "Hello, World!"
</pre>
<p>The third style:
</p>
<pre>print("Hello, World!")
</pre>
<p>Another style: similar to <a href="XBase" title="XBase">xBase</a> languages like <a href="Clipper_(programming_language)" title="Clipper (programming language)">Clipper</a> and <a href="Visual_FoxPro" title="Visual FoxPro">Visual FoxPro</a>
</p>
<pre>? "Hello, World!"
</pre>
<div class="mw-heading mw-heading3"><h3 id="Change_the_keywords_and_operators">Change the keywords and operators</h3></div>
<p><b>Ring</b> supports changing the language <a href="Reserved_word" title="Reserved word">keywords</a> and <a href="Operator_(computer_programming)" title="Operator (computer programming)">operators</a>.
</p><p>This could be done many times in the same source file, and is useful for
</p>
<ul><li>Translating the keywords from English to other human languages (<a href="Non-English-based_programming_languages" title="Non-English-based programming languages">Non-English-based programming languages</a>)</li>
<li>Customizing the language for use of a favorite style</li>
<li>Porting <a href="Legacy_code" class="mw-redirect" title="Legacy code">Legacy code</a> written in other languages</li></ul>
<p>Translate Ring keywords to <a href="Japanese_language" title="Japanese language">Japanese</a>
</p>
<pre>ChangeRingKeyword See 手紙を出す
ChangeRingOperator + そして
改行 = nl
します。 = :します。
手紙を出す "こんにちは、世界" そして 改行 します。
ChangeRingKeyword 手紙を出す See // キーワードの復旧
ChangeRingOperator そして + // 演算子の復旧
</pre>
<p>Translate Ring keywords to <a href="Arabic" title="Arabic">Arabic</a>
</p>
<pre>ChangeRingKeyword See إطبع
إطبع "Hello, World!"
ChangeRingKeyword إطبع See
</pre>
<p>Use style similar to the <a href="Pascal_(programming_language)" title="Pascal (programming language)">Pascal programming language</a>
</p>
<div class="mw-highlight mw-highlight-lang-pascal mw-content-ltr" dir="ltr"><pre><span class="hll"><span class="n">ChangeRingKeyword</span><span class="w"> </span><span class="n">func</span><span class="w"> </span><span class="k">function</span>
</span><span class="hll"><span class="nf">ChangeRingKeyword</span><span class="w"> </span><span class="n">see</span><span class="w"> </span><span class="nb">write</span>
</span><span class="k">begin</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">:</span><span class="k">begin</span>
<span class="k">function</span><span class="w"> </span><span class="nf">main</span>
<span class="k">begin</span>
<span class="nb">write</span><span class="p">(</span><span class="err">"</span><span class="n">Hello</span><span class="o">,</span><span class="w"> </span><span class="n">World</span><span class="err">!"</span><span class="p">)</span><span class="o">;</span>
<span class="n">return</span><span class="w"> </span><span class="mi">0</span><span class="o">;</span>
<span class="k">end</span>
<span class="hll"><span class="n">ChangeRingKeyword</span><span class="w"> </span><span class="k">function</span><span class="w"> </span><span class="nf">func</span>
</span><span class="hll"><span class="n">ChangeRingKeyword</span><span class="w"> </span><span class="nb">write</span><span class="w"> </span><span class="n">see</span>
</span></pre></div>
<p><sup id="cite_ref-helloworldstyles_22-0" class="reference"><a href="#cite_note-helloworldstyles-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Ring_Programming_Tutorial_23-0" class="reference"><a href="#cite_note-Ring_Programming_Tutorial-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Loop_command">Loop command</h3></div>
<p>The Loop command can take an integer to apply the continue semantics to enclosing outer loops<sup id="cite_ref-rangakrish2_25-0" class="reference"><a href="#cite_note-rangakrish2-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup>
</p>
<pre>changeRingKeyword loop continue
count = 2
for x in 1:5
for y = 1 to 2
if x = 3
? "About to execute 'loop', count = " + count
continue count
ok
? "x: " + x + ", y: " + y
next
next
</pre>
<div class="mw-heading mw-heading3"><h3 id="Object-oriented_programming">Object-oriented programming</h3></div>
<p>Ring supports object-oriented programming (classes, objects, composition, inheritance, encapsulation, etc.)<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup>
</p>
<pre>new point { # Create new object then access it using braces
x=10 y=20 z=30 # Set the object attributes
print() # Call the print() method
} # end of object access using braces
class point # Define the class
x y z # Define the attributes (x,y,z)
func print # Define the print() method
? x + nl + y + nl + z # Print the attributes values (nl means printing a new line)
</pre>
<p>In Ring classes can be defined at runtime using the Eval() function<sup id="cite_ref-rangakrish3_27-0" class="reference"><a href="#cite_note-rangakrish3-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup>
</p>
<pre>? "Creating a new class dynamically..."
eval("class DynamicClass a b")
? "Printing the instance..."
? new DynamicClass {a=1 b=2}
</pre>
<div class="mw-heading mw-heading2"><h2 id="Implementation">Implementation</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Compiler_and_virtual_machine">Compiler and virtual machine</h3></div>
<p>Ring programs are not <a href="Interpreted_language" class="mw-redirect" title="Interpreted language">interpreted</a> directly from the textual Ring file, but are <a href="Compiler" title="Compiler">compiled</a> into <a href="Bytecode" title="Bytecode">bytecode</a>, which is then run on the Ring <a href="Virtual_machine" title="Virtual machine">virtual machine</a>. The compilation process is typically invisible to the user and is performed at <a href="Run_time_(program_lifecycle_phase)" class="mw-redirect" title="Run time (program lifecycle phase)">run-time</a>, but it can be done offline in order to increase loading performance or reduce the memory footprint of the host environment by leaving out the compiler.
</p><p>The <a href="Compiler" title="Compiler">compiler</a> and the <a href="Virtual_machine" title="Virtual machine">virtual machine</a> are designed using <a href="Visual_programming_language" title="Visual programming language">visual programming</a> through the <a href="PWCT" title="PWCT">Programming Without Coding Technology</a> software then the <a href="C_(programming_language)" title="C (programming language)">C</a> code is generated.
</p>
<div class="mw-heading mw-heading3"><h3 id="Extensions">Extensions</h3></div>
<p>The following are extensions that can be used immediately after the installation of the full installation version (with a file size of about 280 MB for Ring 1.12). Since these are officially provided and maintained on the Ring side, the users are not bothered by library dependencies that may cause problems in other languages, and there is a concern that they can not be used suddenly even if there are destructive language specification changes.
</p><p>The extensions are implemented in approximately 500,000 lines of <a href="C_Programming_Language" class="mw-redirect" title="C Programming Language">C</a> and <a href="C%2B%2B" title="C++">C++</a> code.
</p>
<ul><li>RingAllegro (<a href="Allegro_(software)" class="mw-redirect" title="Allegro (software)">Allegro Game Library</a>)</li>
<li>RingConsoleColor (Text coloring library for <a href="Command-line_interface" title="Command-line interface">command prompt or the terminal</a>)</li>
<li>RingCurl (<a href="CURL" title="CURL">CURL Library</a>)</li>
<li>RingFreeGLUT (<a href="FreeGLUT" class="mw-redirect" title="FreeGLUT">FreeGLUT</a>)</li>
<li>RingInternet (Internet related library)</li>
<li>RingLibUV (<a href="Libuv" title="Libuv">LibUV-asynchronous I / O library</a>)</li>
<li>RingMurMurHash (<a href="Hash_function" title="Hash function">Hash Function Library</a>)</li>
<li>RingMySQL (<a href="MySQL" title="MySQL">MySQL</a>)</li>
<li>RingODBC (<a href="Open_Database_Connectivity" title="Open Database Connectivity">Open Database Connectivity</a>)</li>
<li>RingOpenGL (<a href="OpenGL" title="OpenGL">OpenGL</a> 1.1-4.6)</li>
<li>RingOpenSSL (<a href="OpenSSL" title="OpenSSL">OpenSSL</a>)</li>
<li>RingPostgreSQL (<a href="PostgreSQL" title="PostgreSQL">PostgreSQL</a>)</li>
<li>RingQt (<a href="Qt_(software)" title="Qt (software)">Qt framework</a>)</li>
<li>RingRayLib (<a href="Raylib" title="Raylib">raylib</a>)</li>
<li>RingSDL (<a href="Simple_DirectMedia_Layer" title="Simple DirectMedia Layer">SDL-Simple DirectMedia Layer Library</a>)</li>
<li>RingSQLite (<a href="SQLite" title="SQLite">SQLite</a>)</li>
<li>RingWinAPI (<a href="Windows_API" title="Windows API">Windows API</a>)</li>
<li>RingWinCREG (<a href="Windows_Registry" title="Windows Registry">Windows Registry</a>)</li>
<li>RingZIP (<a href="Zip_(file_format)" class="mw-redirect" title="Zip (file format)">zip file processing library</a>)</li></ul>
<p><sup id="cite_ref-Extensions3_28-0" class="reference"><a href="#cite_note-Extensions3-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Libraries">Libraries</h3></div>
<p>Ring comes with libraries written in Ring itself, such as libraries related to web and game development.
</p>
<table class="wikitable">
<tbody><tr>
<th>Library Name
</th>
<th>Description
</th></tr>
<tr>
<td>Standard Library
</td>
<td>General Classes and functions.
</td></tr>
<tr>
<td>GUI Library
</td>
<td>Classes and functions for creating GUI applications
</td></tr>
<tr>
<td>Objects Library
</td>
<td>Classes and functions for creating GUI applications using the MVC design pattern
</td></tr>
<tr>
<td>Web Library
</td>
<td>Simple framework for developing web applications using the MVC design pattern
</td></tr>
<tr>
<td>Game Engine
</td>
<td>Support developing 2D Games for Desktop and Mobile using Declarative Programming based on Allegro and LibSDL
</td></tr>
<tr>
<td>Natural Library
</td>
<td>General-Purpose Natural Language Programming Library.
</td></tr>
<tr>
<td>Trace Library
</td>
<td>A library for debugging applications.
</td></tr>
<tr>
<td>Type Hints
</td>
<td>A library for adding type hints to functions.
</td></tr>
<tr>
<td>Big Number Library
</td>
<td>Support arithmetic operations on huge numbers.
</td></tr>
<tr>
<td>Fox Ring Library
</td>
<td>Contains functions similar to Visual FoxPro.
</td></tr>
<tr>
<td>ZeroLib Library
</td>
<td>Contains classes where the Index starts from 0 instead of 1.
</td></tr></tbody></table>
<p><sup id="cite_ref-Libraries2_29-0" class="reference"><a href="#cite_note-Libraries2-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Libraries3_30-0" class="reference"><a href="#cite_note-Libraries3-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Applications">Applications</h3></div>
<p>Ring is distributed with over 60 applications written in the language.
</p><p>Some of these applications are
</p>
<ul><li><a href="Analog_watch" title="Analog watch">Analog Clock</a> application</li>
<li><a href="Software_calculator" title="Software calculator">Calculator application</a></li>
<li><a href="English_draughts" title="English draughts">The Checkers</a> Game</li>
<li><a href="Chess" title="Chess">The Chess</a> Game</li>
<li><a href="15_puzzle" title="15 puzzle">Fifteen Puzzle</a> 3D Game</li>
<li><a href="2048_(video_game)" title="2048 (video game)">Game 2048</a></li>
<li><a href="Knight's_tour" title="Knight's tour">Knight Tour</a> Game</li>
<li><a href="Minesweeper_(video_game)" title="Minesweeper (video game)">Minesweeper</a> Game</li>
<li><a href="Othello_(video_game)" class="mw-redirect" title="Othello (video game)">Othello</a> Game</li>
<li><a href="Sokoban" title="Sokoban">Sokoban</a> Game</li>
<li><a href="Sudoku" title="Sudoku">Sudoku</a> Game</li>
<li><a href="Tic-tac-toe" title="Tic-tac-toe">Tic-tac-toe</a> 3D Game</li>
<li><a href="Media_player_software" title="Media player software">Video Music Player</a> application</li>
<li><a href="Windows_startup_process" class="mw-redirect" title="Windows startup process">Windows Startup</a> Manager application</li></ul>
<p><sup id="cite_ref-Applications_31-0" class="reference"><a href="#cite_note-Applications-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Applications2_32-0" class="reference"><a href="#cite_note-Applications2-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Tools">Tools</h3></div>
<p>Ring is distributed with a Standard IDE that includes the following tools:
</p>
<ul><li>Ring REPL (<a href="Read%E2%80%93eval%E2%80%93print_loop" title="Read–eval–print loop">Read–eval–print loop</a>)</li>
<li>Ring2EXE (<a href="Software_distribution" title="Software distribution">Distributing executable applications</a>)</li>
<li>RingPM (The Ring <a href="Package_manager" title="Package manager">Package manager</a>)</li>
<li>Ring Notepad (<a href="Source-code_editor" title="Source-code editor">Source-code editor</a>)</li>
<li>Form Designer (<a href="Graphical_user_interface_builder" title="Graphical user interface builder">WYSIWYG GUI designer</a>)</li></ul>
<p>Ring is also distributed with extensions for many code editors such as <a href="Emacs" title="Emacs">Emacs</a>, <a href="Notepad%2B%2B" title="Notepad++">Notepad++</a>, <a href="Geany" title="Geany">Geany</a>, <a href="Atom_(text_editor)" title="Atom (text editor)">Atom</a>, <a href="Sublime_Text" title="Sublime Text">Sublime Text 2</a>, and <a href="Visual_Studio_Code" title="Visual Studio Code">Visual Studio Code</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Documentation">Documentation</h3></div>
<p>Ring is distributed with documentation written using <a href="Sphinx_(documentation_generator)" title="Sphinx (documentation generator)">Sphinx</a>. A Japanese translation of the documentation is also available.<sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Reception">Reception</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Popularity">Popularity</h3></div>
<p>Ring had a rapid rise and fall in popularity as measured by the <a href="TIOBE_index" title="TIOBE index">TIOBE Programming Community Index</a>. In February 2018, Ring broke into the top 50 for the first time (position 45).<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> As of October 2020, Ring holds position 93 on the TIOBE index.<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> Ring is listed by GitHub in the list of programming languages that are actively developed.<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Criticism">Criticism</h3></div>
<p>Ring critics pointed to some features in Ring that are not common in widely used programming languages.<sup id="cite_ref-Ciklum_37-0" class="reference"><a href="#cite_note-Ciklum-37"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>The list index starts from 1 instead of 0 (See: <a href="Zero-based_numbering" title="Zero-based numbering">Zero-based numbering</a>)</li>
<li>Implicit type conversions (See: <a href="Strong_and_weak_typing#Implicit_type_conversions_and_"type_punning"" title="Strong and weak typing">Implicit type conversions and "type punning"</a>)</li></ul>
<div class="mw-heading mw-heading4"><h4 id="The_list_index_starts_from_1_instead_of_0">The list index starts from 1 instead of 0</h4></div>
<p>In Ring, the index of the first item in lists and the first character in strings is 1.
</p>
<pre>cName = "Ring"
? cName[1] # print R
aList = ["One","Two","Three"]
? aList[1] # print One
</pre>
<div class="mw-heading mw-heading4"><h4 id="Implicit_type_conversions">Implicit type conversions</h4></div>
<p>The language can automatically convert between numbers and strings.<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup>
</p>
<pre>/*
** Rules:
** <NUMBER> + <STRING> --> <NUMBER>
** <STRING> + <NUMBER> --> <STRING>
*/
x = 10 # x is a number
y = "20" # y is a string
nSum = x + y # nSum is a number (y will be converted to a number)
cMsg = "Sum = " + nSum # cMsg is a string (nSum will be converted to a string)
</pre>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1266661725">
/* start https://en.wikipedia.org/ */
.mw-parser-output .portalbox{padding:0;margin:0.5em 0;display:table;box-sizing:border-box;max-width:175px;list-style:none}.mw-parser-output .portalborder{border:1px solid var(--border-color-base,#a2a9b1);padding:0.1em;background:var(--background-color-neutral-subtle,#f8f9fa)}.mw-parser-output .portalbox-entry{display:table-row;font-size:85%;line-height:110%;height:1.9em;font-style:italic;font-weight:bold}.mw-parser-output .portalbox-image{display:table-cell;padding:0.2em;vertical-align:middle;text-align:center}.mw-parser-output .portalbox-link{display:table-cell;padding:0.2em 0.2em 0.2em 0.3em;vertical-align:middle}@media(min-width:720px){.mw-parser-output .portalleft{margin:0.5em 1em 0.5em 0}.mw-parser-output .portalright{clear:right;float:right;margin:0.5em 0 0.5em 1em}}
/* end https://en.wikipedia.org/ */
</style>
<ul><li><a href="Tcl" title="Tcl">Tcl</a></li>
<li><a href="Lua_(programming_language)" class="mw-redirect" title="Lua (programming language)">Lua</a></li>
<li><a href="Python_(programming_language)" title="Python (programming language)">Python</a></li>
<li><a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a></li>
<li><a href="Squirrel_(programming_language)" title="Squirrel (programming language)">Squirrel</a></li>
<li><a href="Gambas" title="Gambas">Gambas</a></li>
<li><a href="Julia_(programming_language)" title="Julia (programming language)">Julia</a></li>
<li><a href="Mojo_(programming_language)" title="Mojo (programming language)">Mojo</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-Springer-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-Springer_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFM._Ayouni2020" class="citation web cs1">M. Ayouni (29 July 2020). <a rel="nofollow" class="external text" href="https://link.springer.com/content/pdf/bbm%3A978-1-4842-5833-0%2F1.pdf">"A Dialogue with Mahmoud Fayed"</a> <span class="cs1-format">(PDF)</span>. <a href="Springer_Nature" title="Springer Nature">Springer</a>.</cite></span>
</li>
<li id="cite_note-wikidata-f7854dabf8b4625aa322aa77ab5cf44e2c129cc8-v20-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-wikidata-f7854dabf8b4625aa322aa77ab5cf44e2c129cc8-v20_2-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/ring-lang/ring/releases/tag/v1.23">"Released 1.23"</a>. 12 July 2025<span class="reference-accessdate">. Retrieved <span class="nowrap">13 July</span> 2025</span>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite id="CITEREFAzeez_Adewale" class="citation web cs1">Azeez Adewale. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20241222002813/https://simple-lang.sourceforge.io/home/">"The Simple programming language"</a>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite id="CITEREFAavesh_Jilani" class="citation web cs1">Aavesh Jilani. <a rel="nofollow" class="external text" href="https://www.dragon-lang.org/">"The Dragon programming language"</a>.</cite></span>
</li>
<li id="cite_note-rangakrish-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-rangakrish_5-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFDr._Rangarajan_Krishnamoorthy2021" class="citation web cs1">Dr. Rangarajan Krishnamoorthy (7 August 2021). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210809074142/https://www.rangakrish.com/index.php/2021/08/07/first-encounter-with-the-ring-programming-language/">"First Encounter with the Ring Programming Language"</a>. rangakrish.com. Archived from <a rel="nofollow" class="external text" href="https://www.rangakrish.com/index.php/2021/08/07/first-encounter-with-the-ring-programming-language/">the original</a> on 2021-08-09.</cite></span>
</li>
<li id="cite_note-BIMArabiaMagazine-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-BIMArabiaMagazine_6-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFOmar_Selim2018" class="citation web cs1">Omar Selim (January 2018). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20231117130807/https://bimarabia.com/download/BIMarabia_Arabic/BIMarabia27.pdf">"The Ring programming language Review"</a> <span class="cs1-format">(PDF)</span>. BIMArabia Magazine. Archived from the original on 2023-11-17<span class="reference-accessdate">. Retrieved <span class="nowrap">2024-03-24</span></span>.</cite><span class="cs1-maint citation-comment"><code class="cs1-code">{{cite web}}</code>: CS1 maint: bot: original URL status unknown (link)</span></span>
</li>
<li id="cite_note-YourWayToProgramming-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-YourWayToProgramming_7-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFAhmed_Tartour2020" class="citation web cs1">Ahmed Tartour (January 2020). <a rel="nofollow" class="external text" href="https://ring-lang.github.io/ref/ArabicBook_YourWayToProgramming_TalkAboutRing.pdf">"Your way to programming (Arabic Book, Pages 56-57) talk about Ring"</a> <span class="cs1-format">(PDF)</span>. <a href="https://ar.wikipedia.org/wiki/%D9%83%D8%AA%D8%A8%D9%86%D8%A7_(%D9%85%D9%88%D9%82%D8%B9_%D9%88%D9%8A%D8%A8)" class="extiw external" title="ar:كتبنا (موقع ويب)">Kotobna</a>.</cite></span>
</li>
<li id="cite_note-dotnetpro-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-dotnetpro_8-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBernhard_Lauer2018" class="citation web cs1">Bernhard Lauer (14 August 2018). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230404171941/https://www.dotnetpro.de/diverses/sprachen/ring-flexibel-einfach-schnell-1571947.html">"Ring: flexible, simple, fast"</a>. <a href="https://de.wikipedia.org/wiki/Dotnetpro" class="extiw external" title="de:Dotnetpro">Dotnetpro</a>.</cite></span>
</li>
<li id="cite_note-InfoWorld-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-InfoWorld_9-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFPaul_Krill2020" class="citation web cs1">Paul Krill (24 August 2020). <a rel="nofollow" class="external text" href="https://www.infoworld.com/article/3572395/ring-language-upgrade-focuses-on-webassembly.html">"Ring language upgrade focuses on WebAssembly"</a>. <a href="InfoWorld" title="InfoWorld">InfoWorld</a>.</cite></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite id="CITEREFGhanem2021" class="citation book cs1">Ghanem, Mohamed (2021). <a rel="nofollow" class="external text" href="https://ring-lang.github.io/ref/GhanemBookAboutRing.pdf"><i>Developing Poet Software using Ring language</i></a> <span class="cs1-format">(PDF)</span>. MetaBook (Egypt - Mansoura). <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-977-6928-38-1</bdi>.</cite></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite class="citation book cs1"><a rel="nofollow" class="external text" href="https://www.apress.com/gp/book/9781484258323"><i>Beginning Ring Programming - From Novice to Professional | Mansour Ayouni | Apress</i></a>.</cite></span>
</li>
<li id="cite_note-Youm7_(Egyptian_daily_newspaper)-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-Youm7_(Egyptian_daily_newspaper)_12-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFHany_Salah2016" class="citation news cs1">Hany Salah (11 January 2016). <a rel="nofollow" class="external text" href="https://www.youm7.com/story/2016/1/11/%D9%81%D9%89-25-%D9%8A%D9%86%D8%A7%D9%8A%D8%B1-%D8%A7%D9%84%D9%85%D9%82%D8%A8%D9%84-%D9%84%D8%BA%D8%A9-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%AC%D8%AF%D9%8A%D8%AF%D8%A9-%D8%A8%D9%85%D9%88%D8%A7%D8%B5%D9%81%D8%A7%D8%AA-%D8%B9%D8%A7%D9%84%D9%85%D9%8A%D8%A9-%D9%85%D9%86/2532713">"Ring: A New programming language"</a>. <i>youm7.com</i>. <a href="Youm7" title="Youm7">youm7</a>.</cite></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><cite id="CITEREFAhmed_Mohammed_Hassan2015" class="citation news cs1">Ahmed Mohammed Hassan (12 December 2015). <a rel="nofollow" class="external text" href="https://muslims-res.com/%D9%84%D8%BA%D8%A9-%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-%D8%AC%D8%AF%D9%8A%D8%AF%D8%A9-%D8%A8%D8%A3%D9%8A%D8%AF%D9%8D-%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9-%D9%88%D9%84%D9%82%D8%A7%D8%A1-%D8%AD%D8%B5%D8%B1/">"Ring: A programming language developed by Arab"</a>. <i>الباحثون المسلمون</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2020-09-28</span></span>.</cite></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><cite id="CITEREFAbedallah_Salehani2020" class="citation news cs1">Abedallah Salehani (18 March 2020). <a rel="nofollow" class="external text" href="https://muslims-res.com/%D9%84%D8%BA%D8%A9-%D8%B1%D9%8A%D9%86%D8%AC-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-ring-programming/">"A book about the Ring programming language"</a>. <i>الباحثون المسلمون</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2020-09-28</span></span>.</cite></span>
</li>
<li id="cite_note-Supernova1-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-Supernova1_15-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFRing_Team2021" class="citation web cs1">Ring Team (September 2021). <a rel="nofollow" class="external text" href="https://ring-lang.github.io/doc1.23/faq.html">"Ring Language - Frequently Asked Questions (FAQ)"</a>. Ring Team.</cite></span>
</li>
<li id="cite_note-Supernova2-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-Supernova2_16-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFFayed2010" class="citation web cs1">Fayed (April 2010). <a rel="nofollow" class="external text" href="https://www.codeproject.com/Articles/66996/Supernova-Programming-Language">"Supernova programming language"</a>. <a href="Code_Project" title="Code Project">Code Project</a>.</cite></span>
</li>
<li id="cite_note-Supernova3-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-Supernova3_17-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFOmnia2011" class="citation web cs1">Omnia (December 2011). <a rel="nofollow" class="external text" href="https://www.youm7.com/story/2011/12/24/%D8%B4%D8%A7%D8%A8-%D9%85%D8%B5%D8%B1%D9%89-%D9%8A%D8%A8%D8%AA%D9%83%D8%B1-%D8%B3%D9%88%D8%A8%D8%B1-%D9%86%D9%88%D9%81%D8%A7-%D9%88%D8%AA%D9%82%D9%86%D9%8A%D8%A9-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D8%AF%D9%88%D9%86-%D9%83%D9%88%D8%AF/562415">"Supernova language by Egyptian programmer"</a>. <a href="Youm7" title="Youm7">Youm7</a>.</cite></span>
</li>
<li id="cite_note-Softpedia-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-Softpedia_18-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFSoftpedia_Team2021" class="citation web cs1">Softpedia Team (23 October 2021). <a rel="nofollow" class="external text" href="https://www.softpedia.com/get/Programming/Coding-languages-Compilers/Fayed-Ring.shtml">"Ring 1.16 review"</a>. <a href="Softpedia" title="Softpedia">Softpedia</a>.</cite></span>
</li>
<li id="cite_note-Medium-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-Medium_19-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFNaveen_Verma2018" class="citation web cs1">Naveen Verma (14 Aug 2018). <a rel="nofollow" class="external text" href="https://medium.com/sitesonic/ring-programming-language-what-do-you-need-to-know-23c51b315e4d">"Ring Programming Language: What Do You Need To Know?"</a>. <a href="Medium_(website)" title="Medium (website)">Medium</a>.</cite></span>
</li>
<li id="cite_note-Youm7_Journal-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-Youm7_Journal_20-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFMones_Hawas2018" class="citation news cs1">Mones Hawas (29 May 2018). <a rel="nofollow" class="external text" href="https://www.youm7.com/story/2018/5/29/%D9%85%D8%B5%D8%B1%D9%89-%D9%8A%D9%81%D9%88%D8%B2-%D9%81%D9%89-%D9%85%D8%B3%D8%A7%D8%A8%D9%82%D8%A9-%D8%A7%D9%84%D8%B3%D9%88%D8%B1%D8%B3-%D9%81%D9%88%D8%B1%D8%AC-%D9%84%D9%84%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D9%85%D9%81%D8%AA%D9%88%D8%AD%D8%A9-%D8%A7%D9%84%D9%85%D8%B5%D8%AF%D8%B1/3812107">"Progress in developing PWCT 2.0 using Ring"</a>. <i>youm7.com</i>. <a href="Youm7" title="Youm7">youm7</a>.</cite></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><cite id="CITEREFFayedAl-QurishiAlamriHossain2020" class="citation journal cs1">Fayed, Mahmoud S.; Al-Qurishi, Muhammad; Alamri, Atif; Hossain, M. Anwar; Al-Daraiseh, Ahmad A. (October 2020). "PWCT: a novel general-purpose visual programming language in support of pervasive application development". <i>CCF Transactions on Pervasive Computing and Interaction</i>. <b>2</b> (3): <span class="nowrap">164–</span>177. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2Fs42486-020-00038-y">10.1007/s42486-020-00038-y</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:225395711">225395711</a>.</cite></span>
</li>
<li id="cite_note-helloworldstyles-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-helloworldstyles_22-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFRubin_Liu2017" class="citation web cs1">Rubin Liu (28 December 2017). <a rel="nofollow" class="external text" href="https://www.codeproject.com/Tips/1222859/Different-styles-for-writing-Hello-World-program-i">"Different styles for writing Hello World program in the Ring programming language"</a>. <i>codeproject.com</i>. <a href="Code_Project" title="Code Project">Code Project</a>.</cite></span>
</li>
<li id="cite_note-Ring_Programming_Tutorial-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-Ring_Programming_Tutorial_23-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFRoshan_Ali2018" class="citation web cs1">Roshan Ali (4 June 2018). <a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=7BqoQldx0Pk&list=PL8SruvH85P0uA8ggijCQUR9tXAXF4bmtu&index=2">"Ring programming tutorial"</a>. <a href="YouTube" title="YouTube">YouTube</a>.</cite></span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ring-lang.github.io/doc1.23/getting_started3.html">"Getting Started - Third Style — Ring 1.23 documentation"</a>.</cite></span>
</li>
<li id="cite_note-rangakrish2-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-rangakrish2_25-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFDr._Rangarajan_Krishnamoorthy2021" class="citation web cs1">Dr. Rangarajan Krishnamoorthy (21 August 2021). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230323171354/https://www.rangakrish.com/index.php/2021/08/21/loop-command-in-ring-programming-language/">""Loop" Command in Ring Programming Language"</a>. rangakrish.com. Archived from <a rel="nofollow" class="external text" href="https://www.rangakrish.com/index.php/2021/08/21/loop-command-in-ring-programming-language/">the original</a> on 2023-03-23.</cite></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ring-lang.github.io/doc1.23/oop.html">"Object Oriented Programming (OOP) — Ring 1.16 documentation"</a>.</cite></span>
</li>
<li id="cite_note-rangakrish3-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-rangakrish3_27-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFDr._Rangarajan_Krishnamoorthy2021" class="citation web cs1">Dr. Rangarajan Krishnamoorthy (4 September 2021). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230529153208/https://www.rangakrish.com/index.php/2021/09/04/ring-language-dynamic-behavior-of-classes-and-objects/">"Ring Language: Dynamic Behavior of Classes and Objects"</a>. rangakrish.com. Archived from <a rel="nofollow" class="external text" href="https://www.rangakrish.com/index.php/2021/09/04/ring-language-dynamic-behavior-of-classes-and-objects/">the original</a> on 2023-05-29.</cite></span>
</li>
<li id="cite_note-Extensions3-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-Extensions3_28-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFMajdi_Sobain2017" class="citation web cs1">Majdi Sobain (2 May 2017). <a rel="nofollow" class="external text" href="https://www.codeproject.com/Articles/1096942/Squares-Puzzle-using-RingAllegro">"Squares Puzzle using RingAllegro"</a>. <i>codeproject.com</i>. <a href="Code_Project" title="Code Project">Code Project</a>.</cite></span>
</li>
<li id="cite_note-Libraries2-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-Libraries2_29-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFFayed2017" class="citation web cs1">Fayed (11 August 2017). <a rel="nofollow" class="external text" href="https://www.codeproject.com/Articles/1200766/Using-the-Natural-Language-Programming-Library-NLP">"Using the Natural Language Programming Library (NLPL) in the Ring Programming Language"</a>. <i>codeproject.com</i>. <a href="Code_Project" title="Code Project">Code Project</a>.</cite></span>
</li>
<li id="cite_note-Libraries3-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-Libraries3_30-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFFayed2016" class="citation web cs1">Fayed (12 October 2016). <a rel="nofollow" class="external text" href="https://www.codeproject.com/Articles/1138605/Natural-Language-Programming-in-the-Ring-Programmi">"Natural Language Programming in the Ring Programming Language"</a>. <i>codeproject.com</i>. <a href="Code_Project" title="Code Project">Code Project</a>.</cite></span>
</li>
<li id="cite_note-Applications-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-Applications_31-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFOpen_Source_Developers2019" class="citation web cs1">Open Source Developers (15 June 2019). <a rel="nofollow" class="external text" href="https://ring-lang.github.io/resources.html">"Applications written in Ring"</a>. Ring Team.</cite></span>
</li>
<li id="cite_note-Applications2-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-Applications2_32-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFEtqan_Company2018" class="citation web cs1">Etqan Company (25 September 2018). <a rel="nofollow" class="external text" href="https://store.steampowered.com/app/939200/Gold_Magic_800/">"Gold Magic 800 Game by Etqan Company"</a>. <a href="Steam_(software)" class="mw-redirect" title="Steam (software)">Steam (software)</a>.</cite></span>
</li>
<li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20211030103530/http://ring-lang-081.osdn.jp/docs-1.16/index.html">"ようこそ Ring 取扱説明書へ! — プログラミング言語 Ring 1.16 取扱説明書"</a>. Archived from <a rel="nofollow" class="external text" href="http://ring-lang-081.osdn.jp/docs-1.16/index.html">the original</a> on 2021-10-30<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-10-30</span></span>.</cite></span>
</li>
<li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20180221113115/https://www.tiobe.com/tiobe-index/">"TIOBE Index | TIOBE - the Software Quality Company"</a>. <i>www.tiobe.com</i>. Archived from <a rel="nofollow" class="external text" href="https://www.tiobe.com/tiobe-index/">the original</a> on 21 February 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">28 February</span> 2022</span>.</cite></span>
</li>
<li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text"><cite id="CITEREFEmma_White2020" class="citation web cs1">Emma White (6 October 2020). <a rel="nofollow" class="external text" href="https://www.bairesdev.com/blog/top-100-programming-languages/">"Top 100 Programming Languages"</a>. <i><a href="https://es.wikipedia.org/wiki/BairesDev" class="extiw external" title="es:BairesDev">BairesDev</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">2020-10-06</span></span>.</cite></span>
</li>
<li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/collections/programming-languages">"Build software better, together"</a>. <i><a href="GitHub" title="GitHub">GitHub</a></i>.</cite></span>
</li>
<li id="cite_note-Ciklum-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-Ciklum_37-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFCiklum2017" class="citation web cs1">Ciklum (12 December 2017). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20171207084845/https://www.ciklum.com/blog/new-programming-languages-a-hype-or-reality/">"New Programming Languages – A Hype Or Reality?"</a>. <i>ciklum.com</i>. <a href="Ciklum" title="Ciklum">Ciklum</a>. Archived from the original on 7 December 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">1 February</span> 2024</span>.</cite><span class="cs1-maint citation-comment"><code class="cs1-code">{{cite web}}</code>: CS1 maint: bot: original URL status unknown (link)</span></span>
</li>
<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ring-lang.github.io/doc1.23/variables.html#implicit-conversion">"Variables — Ring 1.23 documentation"</a>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li>Fayed (2025) <i><a rel="nofollow" class="external text" href="https://github.com/ring-lang/ring/releases/download/v1.23/RingDoc_1.23.pdf">The Ring programming language - The complete reference</a></i></li>
<li>Fayed, Alohali. (2025) <i><a rel="nofollow" class="external text" href="https://www.mdpi.com/2076-3417/15/3/1521">PWCT2: A Self-Hosting Visual Programming Language Based on Ring with Interactive Textual-to-Visual Code Conversion</a></i>, <a href="Applied_Sciences_(journal)" title="Applied Sciences (journal)">Applied Sciences</a></li>
<li>Fayed, Alohali. (2024) <i><a rel="nofollow" class="external text" href="https://www.mdpi.com/2079-9292/13/23/4627">Ring: A Lightweight and Versatile Cross-Platform Dynamic Programming Language Developed Using Visual Programming</a></i>, <a href="Electronics_(journal)" title="Electronics (journal)">Electronics</a></li>
<li>Ghanem (2021) <i><a rel="nofollow" class="external text" href="https://ring-lang.github.io/ref/GhanemBookAboutRing.pdf">Developing Poet Software using Ring language (Arabic Book)</a></i>, MetaBook (Egypt - Mansoura)</li>
<li>Ayouni (2020) <i><a rel="nofollow" class="external text" href="https://www.apress.com/gp/book/9781484258323">Beginning Ring Programming</a></i>, <a href="Springer_Nature" title="Springer Nature">Apress (part of Springer Nature)</a></li>
<li>Hassouna (2019) <i><a rel="nofollow" class="external text" href="https://ring-lang.github.io/ref/RingBasics_ArabicBook.pdf">Ring Basics (Arabic Book)</a></i>, <a rel="nofollow" class="external text" href="https://www.hassouna-academy.com/ringcourses">Hassouna Academy</a></li>
<li>Sobain (2017) <i><a rel="nofollow" class="external text" href="http://ring-wincreg.sf.net/docs/">RingWinCReg Extension Documentation</a></i>, <a href="SourceForge" title="SourceForge">SourceForge</a></li>
<li>Fayed (2016) <i><a rel="nofollow" class="external text" href="https://www.codeproject.com/Articles/1089887/The-Ring-Programming-Language">The Ring Programming Language</a></i>, <a href="Code_Project" title="Code Project">CodeProject</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1290876196">
/* start https://en.wikipedia.org/ */
.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .infobox .side-box{font-size:100%}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1237033735">
/* start https://en.wikipedia.org/ */
@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}
/* end https://en.wikipedia.org/ */
</style><div class="side-box side-box-right sistersitebox"><style data-mw-deduplicate="TemplateStyles:r1126788409">
/* start https://en.wikipedia.org/ */
.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}
/* end https://en.wikipedia.org/ */
</style>
<div class="side-box-flex">
<div class="side-box-image"><span class="noviewer" typeof="mw:File"></span></div>
<div class="side-box-text plainlist">Wikibooks has a book on the topic of: <i><b><a href="https://en.wikibooks.org/wiki/Ring" class="extiw external" title="wikibooks:Ring">Ring</a></b></i></div></div>
</div>
<ul><li><a rel="nofollow" class="external text" href="https://www.youtube.com/playlist?list=PLHIfW1KZRIfl6KzfLziFl650MmThnQ0jT">Arabic videos</a></li>
<li><a rel="nofollow" class="external text" href="https://idrassi.github.io/MonoRing/">MonoRing</a></li>
<li><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="https://www.ring-lang.net/">Official website</a></span></span></li>
<li><a rel="nofollow" class="external text" href="https://ring-lang.github.io/web/formdesigner/project.html">Online Form Designer (WebAssembly)</a></li>
<li><a rel="nofollow" class="external text" href="https://store.steampowered.com/app/1953110/Programming_Without_Coding_Technology_20/">PWCT2 (Developed using Ring)</a></li>
<li><a rel="nofollow" class="external text" href="https://rosettacode.org/wiki/Category:Ring">RosettaCode samples</a></li>
<li><a rel="nofollow" class="external text" href="https://ring-lang.github.io/web/tryringonline/project.html">Try Ring Online (WebAssembly)</a></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Free_and_open-source_software510" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Free_and_open-source_software510" style="font-size:114%;margin:0 4em"><a href="Free_and_open-source_software" title="Free and open-source software">Free and open-source software</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">General</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Alternative_terms_for_free_software" title="Alternative terms for free software">Alternative terms for free software</a></li>
<li><a href="Comparison_of_open-source_and_closed-source_software" title="Comparison of open-source and closed-source software">Comparison of open-source and closed-source software</a></li>
<li><a href="Comparison_of_source-code-hosting_facilities" title="Comparison of source-code-hosting facilities">Comparison of source-code-hosting facilities</a></li>
<li><a href="Free_software" title="Free software">Free software</a></li>
<li><a href="List_of_free_software_project_directories" title="List of free software project directories">Free software project directories</a></li>
<li><a href="Gratis_versus_libre" title="Gratis versus libre">Gratis versus libre</a></li>
<li><a href="Long-term_support" title="Long-term support">Long-term support</a></li>
<li><a href="Open-source_software" title="Open-source software">Open-source software</a></li>
<li><a href="Open-source_software_development" title="Open-source software development">Open-source software development</a></li>
<li><a href="Outline_of_free_software" title="Outline of free software">Outline</a></li>
<li><a href="Timeline_of_free_and_open-source_software" title="Timeline of free and open-source software">Timeline</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="List_of_free_and_open-source_software_packages" title="List of free and open-source software packages">Software<br>packages</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Comparison_of_free_software_for_audio" title="Comparison of free software for audio">Audio</a></li>
<li><a href="List_of_open-source_bioinformatics_software" title="List of open-source bioinformatics software">Bioinformatics</a></li>
<li><a href="List_of_open-source_codecs" title="List of open-source codecs">Codecs</a></li>
<li><a href="Comparison_of_open-source_configuration_management_software" title="Comparison of open-source configuration management software">Configuration management</a></li>
<li><a href="Device_driver" title="Device driver">Drivers</a>
<ul><li><a href="Free_and_open-source_graphics_device_driver" title="Free and open-source graphics device driver">Graphics</a></li>
<li><a href="Comparison_of_open-source_wireless_drivers" title="Comparison of open-source wireless drivers">Wireless</a></li></ul></li>
<li><a href="List_of_open-source_health_software" title="List of open-source health software">Health</a></li>
<li><a href="List_of_open-source_software_for_mathematics" title="List of open-source software for mathematics">Mathematics</a></li>
<li><a href="List_of_office_suites" title="List of office suites">Office suites</a></li>
<li><a href="Comparison_of_open-source_operating_systems" title="Comparison of open-source operating systems">Operating systems</a></li>
<li><a href="List_of_open-source_routing_platforms" title="List of open-source routing platforms">Routing</a></li>
<li><a href="List_of_free_television_software" title="List of free television software">Television</a></li>
<li><a href="List_of_open-source_video_games" title="List of open-source video games">Video games</a></li>
<li><a href="List_of_free_and_open-source_web_applications" title="List of free and open-source web applications">Web applications</a>
<ul><li><a href="Comparison_of_shopping_cart_software" title="Comparison of shopping cart software">E-commerce</a></li></ul></li>
<li><a href="List_of_free_and_open-source_Android_applications" title="List of free and open-source Android applications">Android apps</a></li>
<li><a href="List_of_free_and_open-source_iOS_applications" title="List of free and open-source iOS applications">iOS apps</a></li>
<li><a href="List_of_commercial_open-source_applications_and_services" title="List of commercial open-source applications and services">Commercial</a></li>
<li><a href="List_of_formerly_proprietary_software" title="List of formerly proprietary software">Formerly proprietary</a></li>
<li><a href="List_of_formerly_free_and_open-source_software" class="mw-redirect" title="List of formerly free and open-source software">Formerly open-source</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Community_of_practice" title="Community of practice">Community</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Free_software_movement" title="Free software movement">Free software movement</a></li>
<li><a href="History_of_free_and_open-source_software" title="History of free and open-source software">History</a></li>
<li><a href="Open-source-software_movement" class="mw-redirect" title="Open-source-software movement">Open-source-software movement</a></li>
<li><a href="List_of_free-software_events" title="List of free-software events">Events</a></li>
<li><a href="Open-source_software_advocacy" title="Open-source software advocacy">Advocacy</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="List_of_free_and_open-source_software_organizations" title="List of free and open-source software organizations">Organisations</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Free_Software_Movement_of_India" title="Free Software Movement of India">Free Software Movement of India</a></li>
<li><a href="Free_Software_Foundation" title="Free Software Foundation">Free Software Foundation</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Free-software_license" title="Free-software license">Licenses</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Academic_Free_License" title="Academic Free License">AFL</a></li>
<li><a href="Apache_License" title="Apache License">Apache</a></li>
<li><a href="Apple_Public_Source_License" title="Apple Public Source License">APSL</a></li>
<li><a href="Artistic_License" title="Artistic License">Artistic</a></li>
<li><a href="Beerware" title="Beerware">Beerware</a></li>
<li><a href="BSD_licenses" title="BSD licenses">BSD</a></li>
<li><a href="Creative_Commons_license" title="Creative Commons license">Creative Commons</a></li>
<li><a href="Common_Development_and_Distribution_License" title="Common Development and Distribution License">CDDL</a></li>
<li><a href="Eclipse_Public_License" title="Eclipse Public License">EPL</a></li>
<li><a href="Free_Software_Foundation" title="Free Software Foundation">Free Software Foundation</a>
<ul><li><a href="GNU_General_Public_License" title="GNU General Public License">GNU GPL</a></li>
<li><a href="GNU_Affero_General_Public_License" title="GNU Affero General Public License">GNU AGPL</a></li>
<li><a href="GNU_Lesser_General_Public_License" title="GNU Lesser General Public License">GNU LGPL</a></li></ul></li>
<li><a href="ISC_license" title="ISC license">ISC</a></li>
<li><a href="MIT_License" title="MIT License">MIT</a></li>
<li><a href="Mozilla_Public_License" title="Mozilla Public License">MPL</a></li>
<li><a href="Python_License" title="Python License">Python</a></li>
<li><a href="Python_Software_Foundation_License" title="Python Software Foundation License">Python Software Foundation License</a></li>
<li><a href="Shared_Source_Initiative" title="Shared Source Initiative">Shared Source Initiative</a></li>
<li><a href="Sleepycat_License" class="mw-redirect" title="Sleepycat License">Sleepycat</a></li>
<li><a href="Unlicense" title="Unlicense">Unlicense</a></li>
<li><a href="WTFPL" title="WTFPL">WTFPL</a></li>
<li><a href="Zlib_License" title="Zlib License">zlib</a></li></ul>
</div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th id="Types_and_standards23" scope="row" class="navbox-group" style="width:1%">Types and<br> standards</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Comparison_of_free_and_open-source_software_licenses" title="Comparison of free and open-source software licenses">Comparison of licenses</a></li>
<li><a href="Contributor_License_Agreement" title="Contributor License Agreement">Contributor License Agreement</a></li>
<li><a href="Copyleft" title="Copyleft">Copyleft</a></li>
<li><a href="Debian_Free_Software_Guidelines" class="mw-redirect" title="Debian Free Software Guidelines">Debian Free Software Guidelines</a></li>
<li><a href="Definition_of_Free_Cultural_Works" title="Definition of Free Cultural Works">Definition of Free Cultural Works</a></li>
<li><a href="Free_license" title="Free license">Free license</a></li>
<li><a href="The_Free_Software_Definition" title="The Free Software Definition">The Free Software Definition</a></li>
<li><a href="The_Open_Source_Definition" title="The Open Source Definition">The Open Source Definition</a></li>
<li><a href="Open-source_license" title="Open-source license">Open-source license</a></li>
<li><a href="Permissive_software_license" title="Permissive software license">Permissive software license</a></li>
<li><a href="Public_domain" title="Public domain">Public domain</a></li></ul>
</div></td></tr></tbody></table><div>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Challenges</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Digital_rights_management" title="Digital rights management">Digital rights management</a></li>
<li><a href="License_proliferation" title="License proliferation">License proliferation</a></li>
<li><a href="Mozilla_software_rebranded_by_Debian" class="mw-redirect" title="Mozilla software rebranded by Debian">Mozilla software rebranding</a></li>
<li><a href="Proprietary_device_driver" class="mw-redirect" title="Proprietary device driver">Proprietary device drivers</a></li>
<li><a href="Proprietary_firmware" title="Proprietary firmware">Proprietary firmware</a></li>
<li><a href="Proprietary_software" title="Proprietary software">Proprietary software</a></li>
<li><a href="SCO%E2%80%93Linux_disputes" title="SCO–Linux disputes">SCO/Linux controversies</a></li>
<li><a href="Software_patents_and_free_software" title="Software patents and free software">Software patents</a></li>
<li><a href="Open-source_software_security" title="Open-source software security">Software security</a></li>
<li><a href="Tivoization" title="Tivoization">Tivoization</a></li>
<li><a href="Trusted_Computing" title="Trusted Computing">Trusted Computing</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related <br>topics</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Fork_(software_development)" title="Fork (software development)">Forking</a></li>
<li><i><a href="GNU_Manifesto" title="GNU Manifesto">GNU Manifesto</a></i></li>
<li><a href="Microsoft_Open_Specification_Promise" title="Microsoft Open Specification Promise">Microsoft Open Specification Promise</a></li>
<li><a href="Open-core_model" title="Open-core model">Open-core model</a></li>
<li><a href="Open-source_hardware" title="Open-source hardware">Open-source hardware</a></li>
<li><a href="Shared_Source_Initiative" title="Shared Source Initiative">Shared Source Initiative</a></li>
<li><a href="Source-available_software" title="Source-available software">Source-available software</a></li>
<li><i><a href="The_Cathedral_and_the_Bazaar" title="The Cathedral and the Bazaar">The Cathedral and the Bazaar</a></i></li>
<li><i><a href="Revolution_OS" title="Revolution OS">Revolution OS</a></i></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2" style="font-weight:bold"><div>
<ul><li><span class="noviewer" typeof="mw:File"></span> <a href="Portal%3AFree_and_open-source_software" title="Portal:Free and open-source software">Portal</a></li>
<li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Programming_languages625" style="padding:3px"><table class="nowraplinks hlist mw-collapsible expanded navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Programming_languages625" style="font-size:114%;margin:0 4em"><a href="Programming_language" title="Programming language">Programming languages</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><a href="Comparison_of_programming_languages" title="Comparison of programming languages">Comparison</a></li>
<li><a href="Timeline_of_programming_languages" title="Timeline of programming languages">Timeline</a></li>
<li><a href="History_of_programming_languages" title="History of programming languages">History</a></li></ul>
</div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Ada_(programming_language)" title="Ada (programming language)">Ada</a></li>
<li><a href="ALGOL" title="ALGOL">ALGOL</a>
<ul><li><a href="Simula" title="Simula">Simula</a></li></ul></li>
<li><a href="APL_(programming_language)" title="APL (programming language)">APL</a></li>
<li><a href="Assembly_language" title="Assembly language">Assembly</a></li>
<li><a href="BASIC" title="BASIC">BASIC</a>
<ul><li><a href="Visual_Basic" title="Visual Basic">Visual Basic</a>
<ul><li><a href="Visual_Basic_(classic)" title="Visual Basic (classic)">classic</a></li>
<li><a href="Visual_Basic_(.NET)" title="Visual Basic (.NET)">.NET</a></li></ul></li></ul></li>
<li><a href="C_(programming_language)" title="C (programming language)">C</a></li>
<li><a href="C%2B%2B" title="C++">C++</a></li>
<li><a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a></li>
<li><a href="COBOL" title="COBOL">COBOL</a></li>
<li><a href="Erlang_(programming_language)" title="Erlang (programming language)">Erlang</a>
<ul><li><a href="Elixir_(programming_language)" title="Elixir (programming language)">Elixir</a></li></ul></li>
<li><a href="Forth_(programming_language)" title="Forth (programming language)">Forth</a></li>
<li><a href="Fortran" title="Fortran">Fortran</a></li>
<li><a href="Go_(programming_language)" title="Go (programming language)">Go</a></li>
<li><a href="Haskell" title="Haskell">Haskell</a></li>
<li><a href="Java_(programming_language)" title="Java (programming language)">Java</a></li>
<li><a href="JavaScript" title="JavaScript">JavaScript</a></li>
<li><a href="Julia_(programming_language)" title="Julia (programming language)">Julia</a></li>
<li><a href="Kotlin_(programming_language)" title="Kotlin (programming language)">Kotlin</a></li>
<li><a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a></li>
<li><a href="Lua" title="Lua">Lua</a></li>
<li><a href="MATLAB" title="MATLAB">MATLAB</a></li>
<li><a href="ML_(programming_language)" title="ML (programming language)">ML</a>
<ul><li><a href="Caml" title="Caml">Caml </a>
<ul><li><a href="OCaml" title="OCaml">OCaml</a></li></ul></li></ul></li>
<li><a href="Pascal_(programming_language)" title="Pascal (programming language)">Pascal</a>
<ul><li><a href="Object_Pascal" title="Object Pascal">Object Pascal</a></li></ul></li>
<li><a href="Perl" title="Perl">Perl </a>
<ul><li><a href="Raku_(programming_language)" title="Raku (programming language)">Raku</a></li></ul></li>
<li><a href="PHP" title="PHP">PHP</a></li>
<li><a href="Prolog" title="Prolog">Prolog</a></li>
<li><a href="Python_(programming_language)" title="Python (programming language)">Python</a></li>
<li><a href="R_(programming_language)" title="R (programming language)">R</a></li>
<li><a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a></li>
<li><a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a></li>
<li><a href="SAS_language" title="SAS language">SAS</a></li>
<li><a href="SQL" title="SQL">SQL</a></li>
<li><a href="Scratch_(programming_language)" title="Scratch (programming language)">Scratch</a></li>
<li><a href="Shell_script" title="Shell script">Shell</a></li>
<li><a href="Smalltalk" title="Smalltalk">Smalltalk</a></li>
<li><a href="Swift_(programming_language)" title="Swift (programming language)">Swift</a></li>
<li><i><a href="List_of_programming_languages" title="List of programming languages">more...</a></i></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="List-Class article"></span></span> <b>Lists:</b> <a href="List_of_programming_languages" title="List of programming languages">Alphabetical</a></li>
<li><a href="List_of_programming_languages_by_type" title="List of programming languages by type">Categorical</a></li>
<li><a href="Generational_list_of_programming_languages" title="Generational list of programming languages">Generational</a></li>
<li><a href="Non-English-based_programming_languages" title="Non-English-based programming languages">Non-English-based</a></li>
<li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-20" href="https://en.wikipedia.org/wiki/?title=Ring_(programming_language)&oldid=1301582812">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>